#include <iostream>
#include <list>

template<typename T>
void print(const T& vec)
{
    std::cout << "size:" << vec.size() << std::endl;
    for(auto ite = vec.begin(); ite != vec.end(); ite++)
    {
        std::cout << *ite << " ";
    }
    std::cout << std::endl;

}

int main()
{
    std::list<int> l = {1, 2, 3, 4, 5};
    print(l);

    /* 按位置插入*/
    auto ite = l.begin();
    for(int i = 0; i < 3; i++)
    {
        ite++;
    }
    l.insert(ite, 99);
    print(l);

    /* 链表逆序*/
    l.reverse();
    print(l);


    return 0;
}